// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.google.gson; import com.google.gson.internal.Streams; import com.google.gson.reflect.TypeToken; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; // Referenced classes of package com.google.gson: // TypeAdapter, Gson, q, JsonElement, // JsonDeserializer, JsonSerializer, TypeAdapterFactory, p final class o extends TypeAdapter { private final JsonSerializer a; private final JsonDeserializer b; private final Gson c; private final TypeToken d; private final TypeAdapterFactory e; private TypeAdapter f; private o(JsonSerializer jsonserializer, JsonDeserializer jsondeserializer, Gson gson, TypeToken typetoken, TypeAdapterFactory typeadapterfactory) { a = jsonserializer; b = jsondeserializer; c = gson; d = typetoken; e = typeadapterfactory; } o(JsonSerializer jsonserializer, JsonDeserializer jsondeserializer, Gson gson, TypeToken typetoken, TypeAdapterFactory typeadapterfactory, p p) { this(jsonserializer, jsondeserializer, gson, typetoken, typeadapterfactory); } private TypeAdapter a() { TypeAdapter typeadapter = f; if (typeadapter != null) { return typeadapter; } else { TypeAdapter typeadapter1 = c.getDelegateAdapter(e, d); f = typeadapter1; return typeadapter1; } } public static TypeAdapterFactory a(TypeToken typetoken, Object obj) { return new q(obj, typetoken, false, null, null); } public static TypeAdapterFactory a(Class class1, Object obj) { return new q(obj, null, false, class1, null); } public static TypeAdapterFactory b(TypeToken typetoken, Object obj) { boolean flag; if (typetoken.getType() == typetoken.getRawType()) { flag = true; } else { flag = false; } return new q(obj, typetoken, flag, null, null); } public Object read(JsonReader jsonreader) { if (b == null) { return a().read(jsonreader); } JsonElement jsonelement = Streams.parse(jsonreader); if (jsonelement.isJsonNull()) { return null; } else { return b.deserialize(jsonelement, d.getType(), c.b); } } public void write(JsonWriter jsonwriter, Object obj) { if (a == null) { a().write(jsonwriter, obj); return; } if (obj == null) { jsonwriter.nullValue(); return; } else { Streams.write(a.serialize(obj, d.getType(), c.c), jsonwriter); return; } } }